Software testing is part of a set of activities that ensure high-quality software. It primarily aims at revealing defects that have been inserted into software at various stages of its development. In functional testing, test requirements are derived from software speci?cations. This paper proposes a functional testing/ evaluation that was performed using the functional specification provided during a Model for Creating a Stable Cryptocurrency Using Fiat Currency for Global Electronic Commerce design and verifies the model against the functional requirements. The functional approach of model effectiveness was used to establish model functions first, and then to build criterion measures to assess how well the objectives were met. The functional requirements of the evaluation model were then transformed into test cases. Furthermore, the test case reports were presented as final findings.
Introduction
I. INTRODUCTION
Software testing/ evaluation is a knowledge area within the ?eld of software engineering and system development, which strives for quality and continually contributes to the process and product improvement. The test’s main objective is to reveal defects in the software artifact so these may be solved before any damage. Ideally, the testing activity must be systematic, and the techniques used must balance cost reduction and increase the levels of defect detection, should any exist. Each technique has a set of test criteria, which may be used during the conception, selection, and evaluation of a test set.
The developed model for creating a stable cryptocurrency using fiat currency for online trading used in this illustration was evaluated using functional testing. Functional testing/ evaluation was performed using the functional specification provided during the model design and verifies the model against the functional requirements (Chung et al, 2012). The functional evaluation deals with attaining the defined functional requirements. The purpose of Functional tests is to test model functionality, by providing appropriate input and verifying the output against the functional requirements. This testing checked the User Interface, APIs, Database, Client/Server communication, and other functionality of the model. The evaluation mainly concentrated on;
Mainline functions- testing the main functions of the developed model
The model’s basic Usability – involved the basic usability testing of the model. It checked whether a user (expert user in this case) can freely navigate through the screens without any difficulties.
Accessibility- Checked accessibility of the model functionalities
Error Conditions: Usage of testing techniques to check for error conditions and to check whether suitable error messages are displayed.
II. DESCRIPTION OF EVALUATION CRITERIA
The model evaluation process involved the definition of the model functional requirements. This was in line with the model design (which takes into account the scenarios and the focus group discussion output). The model requirements were defined according to the following criteria: "functionality, completeness, consistency, accuracy, performance, usability, fit with the model, and other relevant quality attributes" as pointed in (Khanom & Miah, 2004). After the entire model requirements had been specified, a test input or test data was identified based on the requirements and grouped into three test cases. An expected outcome was specified with each selected test input value for each test case before computing or running the test case. Thereafter, the test cases were executed and the outcome was recorded per input. In the end, a comparison of the actual outcome and expected results was done and a conclusion was drawn.
III. FUNCTIONAL TESTING PROCESS
The functional testing aimed to address the core purpose of the model and to prove the overall concept of this study. To test and validate the model, this study adopted a guideline described by Shas (2018).
The entire steps were, however, not used but the steps were summarized but still kept the process viable. The functional testing process is divided the evaluation process into the following steps.
Step 1. Test Goal definition
The main goal of functional testing was to check how closely the model feature/specification is working as per the specifications. The functional testing goals mainly focused on validation and defect testing. I.e. to demonstrate that the model meets the requirements and to discover the defects in the functionality.
2. Step 2. Entry Criteria and Exit Criteria specification
The entry criteria (The beginning) involve the requirement specification, Test Cases preparation, Test data creation, and model setup ready for evaluation. While the exit criteria are when the Execution of all the functional test cases had been completed and no critical P2 bugs are open.
3. Step 3. Listing the scenarios to create functional test cases
This step designed the model test scenarios for the design specification. A `test scenario’ is the summary of the model’s functionality. Based on these scenarios test cases were prepared.
Here is the list of possible scenarios for our payment gateway example.
a. Users create an account with the model
b. Users authenticated based on the information provided
c. Buy stable counts
d. Transfer stable counts
e. Users can dissolve their crypto accounts
f. Spend the stablecoin
g. Convert the coin into other cryptocurrencies
4. Step 4. Definition of Input data and the expected output
Input data for the functionality testing as per the requirement specification was specified. Later from the requirement specification, the output was determined for the functionality under test. The functionalities targeted the following features
a. Payment gateway
b. Debit/Credit Card Options
c. API
d. Swap operation
5. Step 5. Executing test cases
The prepared test cases were executed and the outcome was recorded for comparison as shown in table 11.
IV. FUNCTIONAL TESTING
As previously stated, the goal of this methodology was to evaluate the created model against the functional requirements/specifications. Each functional requirement in the model's minimum viable product was tested by giving acceptable input and comparing the output to the functional requirements as shown below.
The functional approach of model effectiveness was used to establish model functions first, and then to build criterion measures to assess how well the objectives were met. The functional requirements of the evaluation model were then transformed into test cases. The test case specifications, steps for execution, and the expected results were defined as shown below. Each test case was run and the results were kept track of.
V. TEST STATUS REPORTING
The test cases were run and the results were kept track of. To assess whether the functionality is performing as expected, the actual result after executing the test case was compared to the expected output (derived from the requirement specification). The system test revealed that it was indeed feasible to deliver a model for creating stable cryptocurrency using fiat currency. The overall test was a pass. The test results are presented in the table below.
Table 2 Test Status Reporting source: (author)
TC ID
TC-01
TC-02
TC-03
TC-04
TC-05
TC-06
TC-07
TC-08
Status
P
P
P
P
P
P
P
P
FT
A
B
C
D
E
F
E
H and G
Key
FT -Functionality Traceability
P-Passed
Conclusion
The viability of the concept and demonstration of workability was done in this demonstration to ascertain the model\'s practical potential. Model prototyping was used as a valuable exercise to allow visualization of product functioning by providing an interactive model of end product design, navigation, and layout. This paper presents an evaluation of the model performance. The model evaluation checked the user Interface, APIs, Database, Security, communication, and other functionalities.
References
[1] Chung, L., Nixon, B. A., Yu, E., & Mylopoulos, J. (2012). Non-functional requirements in software engineering (Vol. 5). Springer Science & Business Media.
[2] Khanom, N., & Miah, S. J. (2020). On-Cloud Motherhood Clinic: A Healthcare Management Solution for Rural Communities in Developing Countries. Pacific Asia Journal of the Association for Information Systems, 12(1), 3.
[3] Shas, H. (2108, 2 17). SIMFORM. Retrieved from Functional Testing: https://www.simform.com/blog/functional-testing/